/* Fill level */
guint show_fill_level : 1;
guint restrict_to_fill_level : 1;
+
+ /* Whether dragging is ongoing */
+ guint in_drag : 1;
};
gtk_gesture_drag_get_start_point (gesture, &start_x, &start_y);
priv->mouse_x = start_x + offset_x;
priv->mouse_y = start_y + offset_y;
+ priv->in_drag = TRUE;
update_autoscroll_mode (range);
gdouble offset_y,
GtkRange *range)
{
+ range->priv->in_drag = FALSE;
stop_scrolling (range);
}
priv->need_recalc = TRUE;
gtk_widget_queue_draw (GTK_WIDGET (range));
- gtk_adjustment_animate_to_value (priv->adjustment, value);
+
+ if (priv->in_drag)
+ gtk_adjustment_set_value (priv->adjustment, value);
+ else
+ gtk_adjustment_animate_to_value (priv->adjustment, value);
}
return FALSE;